Skip to content

feat(desktop): add review platform panel with core service and Tauri API#2

Draft
kev1n77 wants to merge 890 commits into
mainfrom
fmy/pr-page
Draft

feat(desktop): add review platform panel with core service and Tauri API#2
kev1n77 wants to merge 890 commits into
mainfrom
fmy/pr-page

Conversation

@kev1n77
Copy link
Copy Markdown
Owner

@kev1n77 kev1n77 commented May 13, 2026

Summary

Draft PR: review platform panel, core service, and desktop Tauri API.

Included

  • bitfun-core
    eview_platform service
  • Desktop
    eview_platform_api commands
  • Web ReviewPlatformPanel, adapter, FlowChat header/tab hooks

GCWing and others added 30 commits May 8, 2026 11:33
- Make the full card toggle active workspace / session collapse; expanding sessions when switching workspace.

- Stop propagation on collapse, name, and action controls so nested clicks behave predictably.

- Wrap workspace name buttons in a Tooltip showing rootPath.
…-layout

fix(web-ui): NavPanel workspace list card layout (non-sticky)
…-multiarch

fix: avoid windows startup console flicker
- Apply compact-tool-card-wrapper--dense-command to read/grep/glob/ls and delete cards\n- Drop redundant rightStatusIconWithDivider on search/list/read headers for cleaner density
- Add 37 missing keys to zh-TW/flow-chat.json (widgetContextMenu,
  exploreRegion.commandCount*, terminalRegion, generativeUI,
  generativeWidget)
- Add 45 missing keys to zh-TW/panels/files.json (search index backend,
  index actions/phases/summary/indicator/taskState, notifications)
- Remove 4 unused keys (stopSubagent*) from zh-CN and zh-TW flow-chat.json
  that have no en-US counterpart and no code references
- Translate advancedShow/advancedHide in Installer zh/zh-TW locales
- Fix zh-TW.ftl header comment: s/簡體中文/繁體中文/

Generated with BitFun

Co-Authored-By: BitFun
… fixes (GCWing#602)

- Wire desktop tool API ToolUseContext with remote WorkspaceBinding and workspace services
- Propagate workspace_services into execution engine tool availability context
- Ignore whitespace-only stream chunks for effective output / first visible timing
- Short-circuit snapshot session files and stats for remote workspace paths
- Add unit tests for remote skill discovery and whitespace stream handling
…dense-header

fix(web-ui): tighten compact tool card headers for file ops
Move compact-tool-card-wrapper--dense-command from individual tool cards into CompactToolCard so all compact cards share the same header density without per-card duplication.
…dense-header

fix(web-ui): flow chat compact tool card dense headers
- Track structurally present reasoning/thinking fields through stream processing and round execution.
- Replay empty reasoning content for OpenAI and Anthropic adapters when providers require it.
- Add regression tests for empty reasoning/thinking stream cases and provider message conversion.
…ormats

- expose DeepSeek reasoning effort as high/max in the model config UI
- add DeepSeek reasoning_effort handling for OpenAI-compatible and Anthropic-compatible requests
feat(ai): support DeepSeek reasoning effort and preserve empty reasoning replay
- prevent remote exec from stopping at `Eof` before `ExitStatus`
- keep consuming SSH channel messages until the channel actually closes
…ime refactor (GCWing#610)

Backend changes:
- Remove orphan ModelRound struct and model_round.rs module; the actual
  round lifecycle is fully tracked through execution engine state
- Simplify DialogTurn / DialogTurnState — only TurnStats and new_turn_id
  helper survive; on-disk shape lives in SessionState as before
- Refactor execution engine, round_executor, and stream_processor to align
  with the simplified runtime model
- Add user-steering support in coordinator and scheduler: mid-turn messages
  from the user can be injected without aborting the current round
- Improve agentic tool pipeline (pipeline/tool_pipeline.rs, types.rs),
  deep-review policy, and review specialist agents
- Anthropic stream handler and tool-call accumulator hardening
- MCP server manager reconnect and interaction improvements
- Snapshot service dedup / reference-safety fixes
- Various service cleanups: session manager, persistence, side_question,
  project context, search, workspace

Frontend changes:
- Add PendingQueuePanel: shows queued user messages above the chat input;
  supports inline edit, "send now" mid-turn steering, and delete
- Add UserSteeringBubble: renders a user-steering flow item as a normal
  user bubble inside the active model round
- Add PendingQueueModule: manages per-session pending message queue state
- Add modelRoundItemGrouping: groups consecutive flow items by model round
  for virtualised rendering
- Update FlowChatManager, EventHandlerModule, TextChunkModule, and
  MessageModule to handle steering events and pending queue lifecycle
- Update modernFlowChatStore and FlowChatContext for new item types
- Update AgentAPI with steering / queue endpoints
- Update flow-chat types with FlowUserSteeringItem
- Update AgentCompanionDesktopPet click-through and pixel-pet UI
- Update ChatInput / ChatInputPixelPet for queue-aware send behaviour
- Theme minor colour fixes across all presets
- i18n: add pending-queue and steering keys for en-US, zh-CN, zh-TW;
  remove stale error keys
- Remove deprecated SessionConfig option and related locale keys
…-multiarch

fix: suppress windows helper command popups
fix: correct remote SSH command completion handling
GCWing#611)

- Align desktop tool API workspace binding with remote connection lookup and session identity
- Propagate remote_connection_id and remote_ssh_host into subagent SessionConfig
- Allow MCP local stdio servers in remote workspace sessions
- Update miniapp host dispatch, service config types, coding-selfie git errors, and stream replay tests
- Extract AppearanceConfig from Basics with i18n (en/zh-CN/zh-TW)

- NavPanel/sessions/workspaces and shell menu state tweaks

- Add fixedPopoverViewport helper; refresh ChatInput styles
feat(web-ui): appearance settings tab, nav layout, chat input styles
… activity (GCWing#614)

- Treat whitespace-only assistant output as non-visible in round executor retries.
- Allow explicit skill tool invocation for default-hidden builtin team skills (remote/workspace).
- Finalize finishing turns when backend reports Idle; wire handleSessionStateChanged with context.
- Companion pet uses rest mood when no active transient tracked turn; add Vitest coverage.
…ifecycle

fix: flashgrep lifecycle cleanup
- Remove agent mermaid_interactive tool, desktop APIs, and announcements

- Remove standalone editor scene, flow chat tool card, and mermaid-editor tooling UI

- Trim FlexiblePanel and ide-control types; keep Markdown MermaidBlock rendering

- Fix MermaidBlock SVG cache key regression; drop mermaid export E2E spec
GCWing and others added 12 commits May 15, 2026 16:56
feat(cli): expose ACP server and external agent controls & prevent ACP write turns from hanging
Move remote command and response DTOs, model catalog DTOs, poll response assembly, and model catalog delta policy into services-integrations while keeping core as the execution adapter.

Add owner-crate contract tests and boundary checks to preserve existing remote poll, image, cancel, and wire-shape behavior.
Move MiniApp allowlist and function-agent AI response parsing policy into bitfun-product-domains while keeping host execution, AI calls, JSON extraction, and runtime adapters in core.

Add contract tests, boundary-check anchors, and plan docs that mark runtime owner migration as still deferred.
Move remote tracker storage and lifecycle into services-integrations while keeping core as the host adapter for product runtime state. Add owner-crate contract coverage plus boundary and planning docs for the current remote-connect closure.
Keep PR detail scroll position stable when switching changed files, mark draft and ready PRs in the queue, collapse long overview text by default, constrain the changed-file list height, and make generated review drafts focus on actionable findings instead of publishing selected summary comments by default.
Add repeatable Web UI bundle-size and main-entry static graph reporters for the staged startup optimization work.

The graph reporter supports dependency reachability and direct-import assertions, so future changes can verify that optional runtimes stay out of the startup path without changing Vite warning thresholds.
Route startup tool initialization through narrow Git and LSP entry points so main.tsx no longer imports the full tools barrel.

Replace lucide namespace lookups with explicit icon maps while keeping fallback behavior for unknown icons.

Defer Mermaid and Prism syntax highlighting to cached async loaders, keeping plain Markdown and code fallback rendering available before optional runtimes load.
locale: fix Nursery->Assistant, Office Session->Cowork Session
Copy link
Copy Markdown
Owner Author

@kev1n77 kev1n77 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review Summary

This PR delivers a solid review platform integration. A few observations:

Highlights

  • Clean separation between core service, Tauri API, and web UI layers
  • Good support for both GitHub and GitCode remotes
  • Linking PRs with review chat sessions is a nice workflow improvement

Suggestions

  • Consider adding error handling for network failures when fetching PR lists
  • The remoteId propagation fix is important — verify it covers all write action paths
  • Agent tool integration looks straightforward; ensure it handles large PR diffs gracefully

Questions

  • Are there plans to support PR creation/merge from the UI, or is this read-only for now?
  • How does the detail panel behave with very large PRs (100+ files)?

Overall LGTM. The feature set is well-scoped and the architecture follows the existing patterns.

Comment thread .github/workflows/ci.yml
@kev1n77
Copy link
Copy Markdown
Owner Author

kev1n77 commented May 18, 2026

test comments

Copy link
Copy Markdown
Owner Author

@kev1n77 kev1n77 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

12345

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants